If you have any questions feel free to dm me on discord: raccon_aaas

And if you like my work, i would appreciate any form of donation preferably bitcoin hehe :)

BTC: bc1qexezxt6wqu9zt7arvjd73dzqj7mmg7vyqztk5a
Ethereum: 0x91875F22e0C65879C156d446d7B4a491D09Ebba7
Doge: DTJDJNzy6UWEVaBWcPdTYszzyUfcZCc6mU
LiteCoin: LKvaL7rvLMD88ywkjoXcRKvNzsSBjLTELo

Make sure to read each part carefully, if you work with eg. Custom GUIs make sure to follow every step and focus on details


Blockstates:
So the first thing is:
If you take anything from minecraft/models/block/- disabled ones.txt make sure the path will match the folder that you have PUT THE TEXTURE IN!

So for example if the texture is in minecraft/textures/block in your model file path will look like:
    "all": "minecraft:block/name_of_your_texture"

If the texture is in minecraft/textures/block/custom the path will be:
    "all": "minecraft:block/custom/name_of_your_texture"


Second is:
If you want to take anything from minecraft/blockstates/entire (disabled).txt you are free to but when you copy stuff from there and paste it to
note_block.json make sure you have everything correctly. If you arent sure ask GPT or use https://jsonlint.com/


If you want to test the 2 examples i have alredy setuped use in game command:
/setblock ~ ~-1 ~ minecraft:note_block[instrument=harp,note=0,powered=false]         for blue gradient
or
/setblock ~ ~-1 ~ minecraft:note_block[instrument=banjo,note=0,powered=true]         for red gradient



Custom Model Data:

You are free to use any model/texture i added as an example however you want (even tho they are really ugly :D)
If you want to add something, make sure the paths are correct.

If you want to test CMdata i added use these commands:

/give @p minecraft:paper[minecraft:custom_model_data={strings:["hat"]}]  > for hat

/give @p minecraft:dirt[minecraft:custom_model_data={strings:["bottle"]}]  > for bottle



Custom ranks with font:

! WARNING ! 

Font is used for 2 things in this pack, GUIs and Ranks.
So when you open minecraft/font/default.json
you will see stuff settuped for ranks eg.

        {
            "type": "bitmap",
            "file": "minecraft:ranks/developer.png",
            "ascent": 8,
            "height": 8,
            "chars": [""]
        },


And stuff settuped for GUIs

        {
            "type": "bitmap",
            "file": "minecraft:cgui/customgui.png",
            "ascent": 16,
            "height": 256,
            "chars": [
                "🙃"
            ]
        },

(Do not remove anything from default.json if you dont know what it actually does) 

If you want to test pre-setuped ranks in game paste this inside chat:
                                                                                                                              

Or you can copy any/each unicode and use it in eg. luckperms









Custom GUIs with Font:

This might be the most complex one of all, but its the easiest if you have a template.
The first thing you need to know is that to test these GUIs properly, youll need access to an MC server.
It doesnt matter if its running locally or a paid one — it just needs to support plugins, not mods.

What to do now?:
1. Go to https://www.spigotmc.org/resources/skript.114544/

2. Download the plugin

3. Stop your server 

4. Drag n Drop this plugin inside plugins folder

5. Restart the server

6. Now when the server finishes restarting inside plugins folder a new folder should be created named Skript

7. Go to Skript/scripts

8. Create a new file name him "customgui.sk" and paste this in:

command /customgui:
    trigger:
        set {_gui} to chest inventory with 6 rows named "&f★★★★★★★★🙃"
        
        set slot (integers between 0 and 54) of {_gui} to apple named "5"      
        set slot 0 of {_gui} to paper named "1"
        set slot 1 of {_gui} to paper named "1"
        set slot 2 of {_gui} to paper named "1"
        set slot 3 of {_gui} to glow ink sac named "3"
        set slot 4 of {_gui} to glow ink sac named "3"
        set slot 5 of {_gui} to glow ink sac named "3"
        set slot 6 of {_gui} to glow ink sac named "3"
        set slot 7 of {_gui} to glow ink sac named "3"
        set slot 8 of {_gui} to glow ink sac named "3"
        set slot 9 of {_gui} to paper named "1"
        set slot 10 of {_gui} to paper named "1"
        set slot 11 of {_gui} to paper named "1"
        set slot 12 of {_gui} to glow ink sac named "3"
        set slot 13 of {_gui} to glow ink sac named "3"
        set slot 14 of {_gui} to glow ink sac named "3"
        set slot 15 of {_gui} to glow ink sac named "3"
        set slot 16 of {_gui} to glow ink sac named "3"
        set slot 17 of {_gui} to glow ink sac named "3"
        set slot 18 of {_gui} to armor stand named "2"
        set slot 19 of {_gui} to armor stand named "2"
        set slot 20 of {_gui} to armor stand named "2"
        set slot 21 of {_gui} to blaze rod named "4"
        set slot 22 of {_gui} to blaze rod named "4"
        set slot 23 of {_gui} to blaze rod named "4"
        set slot 27 of {_gui} to armor stand named "2"
        set slot 28 of {_gui} to armor stand named "2"
        set slot 29 of {_gui} to armor stand named "2"
        set slot 30 of {_gui} to blaze rod named "4"
        set slot 31 of {_gui} to blaze rod named "4"
        set slot 32 of {_gui} to blaze rod named "4"
        set slot 36 of {_gui} to armor stand named "2"
        set slot 37 of {_gui} to armor stand named "2"
        set slot 38 of {_gui} to armor stand named "2"
        set slot 39 of {_gui} to blaze rod named "4"
        set slot 40 of {_gui} to blaze rod named "4"
        set slot 41 of {_gui} to blaze rod named "4"
        set slot 45 of {_gui} to armor stand named "2"
        set slot 46 of {_gui} to armor stand named "2"
        set slot 47 of {_gui} to armor stand named "2"
        set slot 48 of {_gui} to blaze rod named "4"
        set slot 49 of {_gui} to blaze rod named "4"
        set slot 50 of {_gui} to blaze rod named "4"
        
        open {_gui} to player

----
You are free to customize anything
----

9. Make sure you have texture pack on and run these 2 commands:

/sk reload customgui.sk   < this will reload the skript, if your file has different name just replace customgui.sk with yourname.sk
/customgui                < this will open the custom GUI



Thats all for testing, now if you want to create your own:

Go to minecraft/textures/cgui/ and open Template.png 
(This is the png used for custom GUis do NOT use normal textures for chests from other packs, it might look same, but it is not.)

Open Template.png in any pixelart program you like it doesnt matter you can use eg. krita or online pixilart.com

You can draw anything you want on the GUI, but if you want it to contain space for 
items, make sure to rememeber they will be placed in the same slots shown in Template.png.

Import the gui to minecraft/textures/cgui name it eg. gui2.png

Now go to minecraft/font/default.json and make sure to add this line inside.

look eg. here:
...
        {
            "type": "bitmap",
            "file": "minecraft:cgui/customgui.png",
            "ascent": 16,
            "height": 256,
            "chars": [
                "🙃"
            ]
        },
...


if we want to import our new gui in we will add this:
...
        {
            "type": "bitmap",
            "file": "minecraft:cgui/customgui.png",
            "ascent": 16,
            "height": 256,
            "chars": [
                "🙃"
            ]
        },
        {
            "type": "bitmap",
            "file": "minecraft:cgui/gui2.png",
            "ascent": 16,
            "height": 256,
            "chars": [
                "🤠"
            ]
        },
...

(Make sure the unicode or emoji will always be different, never 2 same ones)

Thats all, but if we want the gui to actually work we have to work with skript again.
Open your server plugins folder
go to Skript/script and create a new file called eg. customgui2.sk

Now this is a harder part, you can just copy this inside 
(the only 2x things i changed was the emoji from 🙃 to 🤠 and the command from /customgui to /customgui2)

command /customgui2:
    trigger:
        set {_gui} to chest inventory with 6 rows named "&f★★★★★★★★🤠"
        
        set slot (integers between 0 and 54) of {_gui} to apple named "5"      
        set slot 0 of {_gui} to paper named "1"
        set slot 1 of {_gui} to paper named "1"
        set slot 2 of {_gui} to paper named "1"
        set slot 3 of {_gui} to glow ink sac named "3"
        set slot 4 of {_gui} to glow ink sac named "3"
        set slot 5 of {_gui} to glow ink sac named "3"
        set slot 6 of {_gui} to glow ink sac named "3"
        set slot 7 of {_gui} to glow ink sac named "3"
        set slot 8 of {_gui} to glow ink sac named "3"
        set slot 9 of {_gui} to paper named "1"
        set slot 10 of {_gui} to paper named "1"
        set slot 11 of {_gui} to paper named "1"
        set slot 12 of {_gui} to glow ink sac named "3"
        set slot 13 of {_gui} to glow ink sac named "3"
        set slot 14 of {_gui} to glow ink sac named "3"
        set slot 15 of {_gui} to glow ink sac named "3"
        set slot 16 of {_gui} to glow ink sac named "3"
        set slot 17 of {_gui} to glow ink sac named "3"
        set slot 18 of {_gui} to armor stand named "2"
        set slot 19 of {_gui} to armor stand named "2"
        set slot 20 of {_gui} to armor stand named "2"
        set slot 21 of {_gui} to blaze rod named "4"
        set slot 22 of {_gui} to blaze rod named "4"
        set slot 23 of {_gui} to blaze rod named "4"
        set slot 27 of {_gui} to armor stand named "2"
        set slot 28 of {_gui} to armor stand named "2"
        set slot 29 of {_gui} to armor stand named "2"
        set slot 30 of {_gui} to blaze rod named "4"
        set slot 31 of {_gui} to blaze rod named "4"
        set slot 32 of {_gui} to blaze rod named "4"
        set slot 36 of {_gui} to armor stand named "2"
        set slot 37 of {_gui} to armor stand named "2"
        set slot 38 of {_gui} to armor stand named "2"
        set slot 39 of {_gui} to blaze rod named "4"
        set slot 40 of {_gui} to blaze rod named "4"
        set slot 41 of {_gui} to blaze rod named "4"
        set slot 45 of {_gui} to armor stand named "2"
        set slot 46 of {_gui} to armor stand named "2"
        set slot 47 of {_gui} to armor stand named "2"
        set slot 48 of {_gui} to blaze rod named "4"
        set slot 49 of {_gui} to blaze rod named "4"
        set slot 50 of {_gui} to blaze rod named "4"
        
        open {_gui} to player


------
If you want you can customize it up there for example we can change
        set slot 50 of {_gui} to blaze rod named "4"
to eg.
        set slot 50 of {_gui} to paper named "Hallo i am paper!"
------

now just run this again:
/sk reload customgui2.sk   < this will reload the skript
/customgui2                < this will open our new custom GUI


thats all :)
